import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex);//vue的插件机制

//Vuex.Store 构造器选项
const store = new Vuex.Store({
    state:{//存放状态
        num: 0,
		price: 10,
		name: '苹果',
		testList: []
		
    },
	mutations: {// 全局调用方法：this.$store.commit("add");
		add(state){
			state.num++
			console.log(state.num)
		}
	},
	// getters : vuex中的属性计算，在视图里面当变量使用
	getters:{
		const(state){
			// 这个函数的执行依赖一个可变的变量
			return state.num * state.price
		}
	},
	actions: {// 全局调用方法：this.$store.dispatch("testActions")
		testActions(context){
			// context里面包含了 state, mutations, getters, actions
			// console.log(context)
			// 执行一些异步参数，通用ajax
			setTimeout(() => {
				context.state.testList = ["猪猪侠", "超人强", "喜洋洋", "老村长"]
			}, 2000)
		}
	}
})
export default store